package com.tangyh.basic.alipay.bean;

import com.tangyh.lamp.common.annotation.TransField;
import com.tangyh.lamp.common.enums.ElementIdentityType;
import com.tangyh.basic.utils.CommonUtil;
import lombok.*;

import java.util.Collections;
import java.util.Map;

/**
 * 个人要素认证查询参数
 */
@Data
@Builder
@SuppressWarnings("all")
@AllArgsConstructor
@NoArgsConstructor
public class IdentifyRequestParam {

    @NonNull
    private ElementIdentityType identityType;

    /**
     * 姓名
     */
    @TransField("acct_name")
    private String name;
    /**
     * 身份证号
     */
    @TransField("cert_id")
    private String idCard;

    /**
     * 手机号
     */
    @TransField("phone_num")
    private String mobile;

    /**
     * 银行卡号
     */
    @TransField("acct_pan")
    private String bankNumber;

    /**
     * 图片路径/图片Base64
     */
    private String image;

    /**
     * 图片类型(face：正面,back：背面)
     */
    private String side;

    /**
     * 图片识别信息
     */
    private Map<String, String> configure;

    public Map getConfigure() {
        if (CommonUtil.isEmpty(side)) {
            return Collections.EMPTY_MAP;
        }
        return Collections.singletonMap("side", side);
    }

    @Override
    public String toString() {
        return "个人要素认证查询参数\r\n{" +
                "姓名='" + name + '\'' + ", \r\n" +
                "身份证='" + idCard + '\'' + ", \r\n" +
                "手机号='" + mobile + '\'' + ", \r\n" +
                "银行卡='" + bankNumber + '\'' + "\r\n" +
                '}';
    }
}
